﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Loja.Padrao;
using Loja.Controles.Aplicação;

namespace Loja.Telas
{
    public partial class FormListProdutos : PadraoConsulta
    {
        Controle controle;

        public FormListProdutos(Controle controle)
        {
            InitializeComponent();
            this.controle = controle;
            dgDados1.ContextMenuStrip = menuGrid;
        }

        private void FormListProdutos_Load(object sender, EventArgs e)
        {
            CarregaProdutos();
        }

        public void CarregaProdutos()
        {
           dgDados1.DataSource = null;
           dgDados1.DataSource = controle.ListaProdutosConsulta();
        }

        public void CarregaProdutosPorNome(String nome)
        {
            dgDados1.DataSource = controle.ListaProdutosPorNome(nome);
            
        }

        public void CarregaProdutosPorCodigo(String codigo)
        {
            dgDados1.DataSource = controle.ListaProdutosPorCodigo(codigo);
        }   

        public void Adiciona()
        {
            if (dgDados1.CurrentRow.Cells[0].Value.ToString() != "")
            {
                controle.LimpaParametros();
                controle.Codigo = dgDados1.CurrentRow.Cells[0].Value.ToString();
                controle.Descricao = dgDados1.CurrentRow.Cells[1].Value.ToString();                
                Close();
            }
        }

        private void toolStripMenuItem1_Click(object sender, EventArgs e)
        {
            Adiciona();
        }

        private void txtNome_KeyPress(object sender, KeyPressEventArgs e)
        {
        }

        private void txtCodigo_KeyPress(object sender, KeyPressEventArgs e)
        {
            txtNome.Text = "";
            CarregaProdutosPorCodigo(txtCodigo.Text);  
        }

        private void txtNome_KeyUp(object sender, KeyEventArgs e)
        {
            txtCodigo.Text = "";
            CarregaProdutosPorNome(txtNome.Text);
        }

        private void dgDados1_DoubleClick(object sender, EventArgs e)
        {
            Adiciona();
        }

        private void FormListProdutos_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyValue.Equals(27)) //ESC
            {
                this.Close();
            }
        }           
    }
}
